package com.example.common.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.Getter;

@Getter
public enum QuestionType {
    //    MULTIPLE_CHOICE(0, "选择题"),      // 单选或多选
//    TRUE_FALSE(1, "判断题"),
//    FILL_IN_THE_BLANK(2, "填空题"),
//    SHORT_ANSWER(3, "简答题"),
//    ESSAY(4, "论述题"),
//    COMPUTATIONAL(5, "计算题"),
//    MATCHING(6, "匹配题");
    MULTIPLE_CHOICE("选择题"),      // 单选或多选
    TRUE_FALSE("判断题"),
    FILL_IN_THE_BLANK("填空题"),
    SHORT_ANSWER("简答题"),
    ESSAY("论述题"),
    COMPUTATIONAL("计算题"),
    MATCHING("匹配题"),
    OTHER("其他");

    @EnumValue // MyBatis Plus 注解，表示该字段为数据库实际存储值
//    public final int value;
    public final String desc;

    QuestionType(String desc) {
        this.desc = desc;
    }

    /**
     * 根据 value 获取对应的枚举类型
     */
//    public static QuestionType of(int value) {
//        for (QuestionType type : values()) {
//            if (type.getValue() == value) {
//                return type;
//            }
//        }
//        throw new IllegalArgumentException("无效的题目类型值: " + value);
//    }

    /**
     * 获取默认题目类型（选择题）
     */
    public static QuestionType getDefaultType() {
        return MULTIPLE_CHOICE;
    }
}
